The qualitative difference between the type of signals present in digital devices and the type of signals present in analog devices has led to the development of a number of techniques for testing digital devices. Typically, these testing techniques apply a set of test signals to various points of the circuit and then observe the digital data stream produced at one or more test points. For example, FIG. 7 shows a 2-input AND gate, a pair of input signals to test the operation of the AND gate, and the correct output signal at its output port corresponding to the displayed test input signals. This AND gate is tested by observing the digital data stream produced at its output port and comparing this observed data stream with that corresponding to a good (i.e. properly functioning) AND gate.
In complex circuits, the data stream must be observed at a number of test points and each of these data streams will typically contain many more bits than the 4 bit data stream of the example in FIG. 7. Because of the large amount of test data generated in a test of a typical digital device, many of the test techniques process the data streams to produce output data which is more easily used by the person performing the test. In one scheme known as transition counting, the test device produces for each data stream a number representing the number of times its associated data stream made a low-to-high or high-to-low transition.
In another digital test scheme known as signature analysis (See U.S. Pat. No. 3,976,864 entitled "Apparatus and Method for Testing Digital Circuits" issued to Gary B. Gordon et al on Aug. 24, 1976), each data stream is divided by a characteristic polynomial to produce a residue (known as a signature) of significantly shorter length than the data stream. Typically, each signature is chosen to be 16 or 20 bits long so that the residue can be displayed as a 4 or 5 digit display using a hexadecimal character set. Signature analysis is implemented by measuring the signature for each test point of a circuit under test and comparing these signatures with those for a circuit which is known to be good. When these two signature sets are not identical, the circuit under test is considered to be bad. The actual element or elements in the circuit which are bad can often be determined by locating those elements which have input signals with correct signature and yet produce output signals with incorrect signature.
Each of these digital testing techniques relies on the accurate detection of the data stream being observed. One source of possible inaccurate detection of data streams is the occurrence of measurements of the data stream near the times of transitions in the data streams. When this occurs, small variations between circuits can cause a data stream for one unit under test to be detected slightly before such transitions while causing the corresponding data stream for another unit under test to be detected slightly after such transitions. This problem in the testing technique could therefore produce a "bad" signature for a unit under test thereby causing some "good units" to be tested as being bad.